/**
 * 
 */
package org.mspring.crm.service;

import org.mspring.crm.entity.permission.User;
import org.mspring.platform.dao.support.Page;
import org.mspring.platform.dao.support.QueryAppender;

/**
 * @author Gao Youbo
 * @since Feb 20, 2012
 */
public interface UserService {
    /**
     * 验证用户名密码
     * 
     * @param username
     *            用户名
     * @param password
     *            密码
     * @return 如果验证成功那么返回用户对象
     */
    public User validateUser(String username, String password);

    /**
     * 验证用户名密码
     * 
     * @param userName
     *            用户名
     * @param password
     *            密码
     * @param encrypt
     *            参数password是否已经过加密，默认为false
     * @return
     */
    public User validateUser(String username, String password, boolean encrypt);

    /**
     * 根据用户名查找用户
     * 
     * @param userName
     * @return
     */
    public User findUserByName(String username);

    /**
     * 根据用户名获取密码
     * 
     * @param userName
     * @return
     */
    public String getPasswordByName(String userName);
    
    public Page<User> findPageUser(Page<User> page, QueryAppender queryAppender);
}
